home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
090
/
nucsim.bas
< prev
next >
Wrap
BASIC Source File
|
1988-11-09
|
12KB
|
317 lines
10 REM-Nuclear attack simulator
20 REM-by A.S. KANTER
30 REM-Original program by J.R. DUKAT
40 REM-Information presented is as good as my sources allow
50 REM-any corrections or improvements are welcomed........
60 REM
70 REM-start it up
80 SCREEN 1:CLS:KEY OFF
90 LOCATE 6,10,0:PRINT "DO YOU LOVE LOS ANGELES?";
100 FOR T=1 TO 3000:NEXT T:CLS
110 GOTO 160
120 GOSUB 2970
130 GOSUB 2940
140 SCREEN 1
150 CLS
160 COLOR 1,0
170 KEY OFF
180 LINE (158,3)-(339,20),2,B
190 LINE (158,27)-(338,190),2,B
200 LOCATE 2,21:PRINT " MAP....LOS ANGELES";
210 SCALE=1
220 XT=-140:YT=120
230 IBMX=150+(XT*SCALE):IBMY=99-((YT)*SCALE)
240 FLG=0
250 READ X,Y
260 IF X=999 AND Y=999 THEN 240
270 IF X=888 AND Y=888 THEN 370
280 X=X+TX:Y=Y+TY
290 X0=TX:Y0=TY
300 X=IBMX+X:Y=IBMY-(Y)
310 PSET (X,Y),1
320 IF FLG=0 THEN 340
330 LINE (X,Y)-(LASTX,LASTY)
340 LASTX=X:LASTY=Y
350 FLG=1
360 GOTO 250
370 READ X,Y
380 IF X=999 AND Y=999 THEN 410
390 PAINT (X,Y),2,3
400 GOTO 370
410 GOSUB 3020 ;DRAW COMPASS ROSE
420 IF NXTBOMB=1 THEN 2330
430 LOCATE 5,21:PRINT " This map covers ";
440 LOCATE 6,21:PRINT " an area of appx. ";
450 LOCATE 7,21:PRINT " 1700 sq/mi. The ";
460 LOCATE 8,21:PRINT " long dimension is";
470 LOCATE 9,21:PRINT " about 50 miles - ";
480 LOCATE 10,21:PRINT " short dimension ";
490 LOCATE 11,21:PRINT " about 34 miles. ";
500 LOCATE 12,21:PRINT " Downtown La is ";
510 LOCATE 13,21:PRINT " near the center ";
520 LOCATE 14,21:PRINT " of the map. Long";
530 LOCATE 15,21:PRINT " Beach can be seen";
540 LOCATE 16,21:PRINT " in the south. The";
550 LOCATE 17,21:PRINT " Pacific Ocean ";
560 LOCATE 18,21:PRINT " lies all along ";
570 LOCATE 19,21:PRINT " the West. River-";
580 LOCATE 20,21:PRINT " side and San ";
590 FOR T=1 TO 9000:NEXT T
600 GOSUB 2970 ;CLEAR BIG BOX
610 LOCATE 5,21:PRINT " Bernadino lie off";
620 LOCATE 6,21:PRINT " the map to the ";
630 LOCATE 7,21:PRINT " east. UCLA and ";
640 LOCATE 8,21:PRINT " Westwood lie near";
650 LOCATE 9,21:PRINT " the coast, about ";
660 LOCATE 10,21:PRINT " midway up the map";
710 FOR T=1 TO 8000:NEXT T
720 GOSUB 2970
730 LOCATE 5,21:PRINT " This program is ";
740 LOCATE 6,21:PRINT " to demonstrate ";
750 LOCATE 7,21:PRINT " effects from var-";
760 LOCATE 8,21:PRINT " ious nuclear war-";
770 LOCATE 9,21:PRINT " heads which might";
780 LOCATE 10,21:PRINT " be used in attack";
790 LOCATE 11,21:PRINT " ing Los Angeles..";
800 LOCATE 12,21:PRINT " This attack will ";
810 LOCATE 13,21:PRINT " consist of just ";
820 LOCATE 14,21:PRINT " nine 1 MT. bombs.";
830 LOCATE 15,21:PRINT " They will explode";
840 LOCATE 16,21:PRINT " at an altitude of";
850 LOCATE 17,21:PRINT " 8000 ft. This sim";
860 LOCATE 18,21:PRINT " ulation would be ";
870 LOCATE 19,21:PRINT " considered on the";
880 LOCATE 20,21:PRINT " conservative side";
890 LOCATE 21,21:PRINT " A maximum attack ";
900 LOCATE 22,21:PRINT " would use around ";
910 LOCATE 23,21:PRINT " 60 warheads......";
920 FOR T=1 TO 11000:NEXT T
930 GOSUB 2970
940 TMR=2000
950 GOSUB 2940
960 LOCATE 2,21:PRINT " Select Targets ";
970 LINE (158,27)-(338,190),2,B
980 LOCATE 5,21:PRINT " Downtown LA ";
990 SOUND 500,1:PSET (77,87),1
1000 FOR T=1 TO TMR:NEXT T
1010 LOCATE 6,21:PRINT " Beverly Hills ";
1020 SOUND 500,1:PSET (62,70),1
1030 FOR T=1 TO TMR:NEXT T
1040 LOCATE 7,21:PRINT " LAX ";
1050 SOUND 500,1:PSET (60,108),1
1060 FOR T=1 TO TMR:NEXT T
1070 LOCATE 8,21:PRINT " Long Beach ";
1080 SOUND 500,1:PSET (112,153),1
1090 FOR T=1 TO TMR:NEXT T
1100 LOCATE 9,21:PRINT " Santa Monica ";
1110 SOUND 500,1:PSET (50,90),1
1120 FOR T=1 TO TMR:NEXT T
1130 LOCATE 10,21:PRINT " Burbank Air. ";
1140 SOUND 500,1:PSET (72,20),1
1150 FOR T=1 TO TMR:NEXT T
1160 LOCATE 11,21:PRINT " Torrance ";
1170 SOUND 500,1:PSET (84,140),1
1180 FOR T=1 TO TMR:NEXT T
1190 LOCATE 12,21:PRINT " Downey ";
1200 SOUND 500,1:PSET (122,109),1
1210 FOR T=1 TO TMR:NEXT T
1220 LOCATE 13,21:PRINT " Northridge ";
1230 SOUND 500,1:PSET (35,10),1
1240 FOR T=1 TO TMR:NEXT T
1250 FOR I=5 TO 13
1260 LOCATE I,22:PRINT CHR$(26);
1270 SOUND 1000,1:FOR T=1 TO 50:NEXT T
1280 NEXT I
1290 LOCATE 2,21:PRINT " Targets Confirmed ";
1300 FOR T=1 TO 4000:NEXT T
1310 GOSUB 2970
1320 FOR S=1 TO 50:SOUND 9000,.5:SOUND 8000,.5:NEXT S
1330 LOCATE 2,21:PRINT " Warhead Size ";
1340 LOCATE 5,21:PRINT " Each warhead is ";
1350 LOCATE 6,21:PRINT " one megaton - the ";
1360 LOCATE 7,21:PRINT " equivalent of one ";
1370 LOCATE 8,21:PRINT " million tons of ";
1380 LOCATE 9,21:PRINT " TNT. ";
1390 LOCATE 11,21:PRINT " Warheads are set ";
1400 LOCATE 12,21:PRINT " to airburst at an ";
1410 LOCATE 13,21:PRINT " altitude of 8000 ";
1420 LOCATE 14,21:PRINT " feet. ";
1430 FOR T=1 TO 5000:NEXT T
1440 GOSUB 2970:GOSUB 2940
1450 SOUND 8000,.5
1460 LOCATE 2,21:PRINT " Targets Marked ";
1470 PSET (77,87),Z
1480 PSET (62,70),Z
1490 PSET (60,108),Z
1500 PSET (112,153),Z
1510 PSET (50,90),Z
1520 PSET (72,20),Z
1530 PSET (84,140),Z
1540 PSET (122,109),Z
1550 PSET (35,10),Z
1560 C=C+1:IF C=150 THEN 1590
1570 IF Z=1 THEN Z=0 ELSE Z=1
1580 GOTO 1470
1590 LOCATE 2,21:PRINT " Time to detonate ";
1600 FOR CD=10 TO 3 STEP -1
1610 LOCATE 6,23:PRINT USING "####";CD;
1620 LOCATE 6,28:PRINT "seconds";
1630 FOR T=1 TO 1000:NEXT T
1640 NEXT CD
1650 GOSUB 2970
1660 FOR S=1 TO 50:SOUND 4000,.5:SOUND 4500,.5:NEXT S
1670 LOCATE 2,21:PRINT " -- DETONATION -- ";
1680 S=1:I=5:R=0:GOSUB 2690
1690 LOCATE 5,21:PRINT " ZONE 1 ";
1700 LOCATE 7,21:PRINT " Diameter 3 mi. ";
1710 LOCATE 10,21:PRINT " Overpress. 25 psi ";
1720 LOCATE 11,21:PRINT " Wind Vel. 320 mph ";
1730 LOCATE 13,21:PRINT " All structures ";
1740 LOCATE 14,21:PRINT " above ground are ";
1750 LOCATE 15,21:PRINT " destroyed. ";
1760 LOCATE 17,21:PRINT " 98 % fatalities ";
1770 LOCATE 19,21:PRINT " STBY FOR ZONE 2 ";
1780 FOR T=1 TO 5500:NEXT T
1790 GOSUB 2970
1800 S=6:I=10:R=3:GOSUB 2690
1810 LOCATE 5,21:PRINT " ZONE 2 ";
1820 LOCATE 7,21:PRINT " Diameter 6 miles ";
1830 LOCATE 10,21:PRINT " Overpress. 9 psi ";
1840 LOCATE 11,21:PRINT " Wind Vel. 260 mph ";
1850 LOCATE 13,21:PRINT " Factories/office ";
1860 LOCATE 14,21:PRINT " buildings collapse";
1870 LOCATE 15,21:PRINT " Severe damage to ";
1880 LOCATE 16,21:PRINT " highway bridges. ";
1890 LOCATE 17,21:PRINT " 50% dead 40% inj. ";
1900 LOCATE 19,21:PRINT " STBY FOR ZONE 3 ";
1910 FOR T=1 TO 5500:NEXT T
1920 GOSUB 2970
1930 I=19:R=1:GOSUB 2590 ;DRAW CIRCLES
1940 LOCATE 5,21:PRINT " ZONE 3 ";
1950 LOCATE 7,21:PRINT " Diameter 10 mi. ";
1960 LOCATE 10,21:PRINT " Overpress. 3 psi ";
1970 LOCATE 11,21:PRINT " Wind Vel. 98 mph ";
1980 LOCATE 13,21:PRINT " Wood frame resid-";
1990 LOCATE 14,21:PRINT " ences severely ";
2000 LOCATE 15,21:PRINT " damaged. People ";
2010 LOCATE 16,21:PRINT " are blown around. ";
2020 LOCATE 17,21:PRINT " 2nd degree burns. ";
2030 LOCATE 18,21:PRINT " 10% dead 45% inj. ";
2040 LOCATE 20,21:PRINT " STBY FOR MORE.. ";
2050 FOR T=1 TO 5500:NEXT T
2060 GOSUB 2970
2070 LOCATE 5,21:PRINT " LONG RANGE EFFECT ";
2080 LOCATE 7,21:PRINT " Light door/plaster";
2090 LOCATE 8,21:PRINT " damage to 14.5 mi.";
2100 LOCATE 9,21:PRINT " Windows broken out";
2110 LOCATE 10,21:PRINT " to 30 miles. ";
2120 LOCATE 12,21:PRINT " Flashblindness to ";
2130 LOCATE 13,21:PRINT " 13 miles daytime. ";
2140 LOCATE 14,21:PRINT " and to 50 miles at";
2150 LOCATE 15,21:PRINT " night clear sky. ";
2160 FOR T=1 TO 5500:NEXT T
2170 GOSUB 2970:GOSUB 2940
2180 LOCATE 2,21:PRINT " WANNA SEE WORSE ? ";
2190 LOCATE 5,21:PRINT " If you wait just a";
2200 LOCATE 6,21:PRINT " second i'll redraw";
2210 LOCATE 7,21:PRINT " the map and drop ";
2220 LOCATE 8,21:PRINT " just one 20 MT.war";
2230 LOCATE 9,21:PRINT " head centered on ";
2240 LOCATE 10,21:PRINT " Downtown LA. ";
2250 LOCATE 11,21:PRINT " I will mark zones ";
2260 LOCATE 12,21:PRINT " as before... ";
2270 LOCATE 13,21:PRINT " Burst altitude for";
2280 LOCATE 14,21:PRINT " this device will ";
2290 LOCATE 15,21:PRINT " be 17500 feet... ";
2300 NXTBOMB=1
2310 FOR T=1 TO 9000:NEXT T
2320 RESTORE:GOTO 120
2330 SOUND 2000,1
2340 LOCATE 2,21:PRINT " Target Manhattan ";
2350 LOCATE 5,21:PRINT " 20 MT. WARHEAD ";
2360 PSET (77,87),0
2370 FOR T=1 TO 3000:NEXT T
2380 SOUND 5000,1:LOCATE 2,21:PRINT " -- DETONATION -- ";
2390 S=1:I=16:R=0:GOSUB 2830:S=17:I=23:R=1:GOSUB 2830
2400 CIRCLE (77,87),40,1
2410 FOR T=1 TO 3000:NEXT T
2420 GOSUB 2970
2430 LOCATE 6,21:PRINT " -FOR COMPARISON- ";
2440 LOCATE 8,21:PRINT " I'll drop a 12.5 ";
2450 LOCATE 9,21:PRINT " kiloton bomb on ";
2460 LOCATE 10,21:PRINT " Long Beach. ";
2470 LOCATE 11,21:PRINT " (Hiroshima size)..";
2480 S=1:I=2:R=0:GOSUB 2900:S=3:I=4:R=3:GOSUB 2900
2490 FOR T=1 TO 10000:NEXT T:CLS:SCREEN 0:WIDTH 80
2500 LOCATE 10,15,0
2510 PRINT " Projection for U.S. & SOVIET warhead numbers for 1985"
2520 LOCATE 11,15,0
2530 PRINT " is a grand total of roughly 40000 of various sizes..."
2540 LOCATE 12,15,0
2550 PRINT " This total does not include other nuclear powers ..."
2560 LOCATE 17,19,0
2570 PRINT " BYE/BYE & GOOD LUCK"
2580 FOR T=1 TO 9000:NEXT T:LOCATE 1,1,1:SYSTEM
2590 CIRCLE (77,87),I,R
2600 CIRCLE (62,70),I,R
2610 CIRCLE (60,108),I,R
2620 CIRCLE (112,153),I,R
2630 CIRCLE (50,90),I,R
2640 CIRCLE (72,20),I,R
2650 CIRCLE (84,140),I,R
2660 CIRCLE (122,109),I,R
2670 CIRCLE (35,10),I,R
2680 RETURN
2690 FOR GZ=S TO I
2700 CIRCLE (77,87),GZ,R
2710 CIRCLE (62,70),GZ,R
2720 CIRCLE (60,108),GZ,R
2730 CIRCLE (112,153),GZ,R
2740 CIRCLE (50,90),GZ,R
2750 CIRCLE (72,20),GZ,R
2760 CIRCLE (84,140),GZ,R
2770 CIRCLE (122,109),GZ,R
2780 CIRCLE (35,10),GZ,R
2790 FOR T=1 TO 300:NEXT T
2800 NEXT GZ
2810 REM-SINGLE WARHEAD ON MANHATTAN
2820 RETURN
2830 FOR GZ=S TO I
2840 CIRCLE (77,87),GZ,R
2850 FOR T=1 TO 300:NEXT T
2860 NEXT GZ
2870 FOR T=1 TO 300:NEXT T
2880 RETURN
2890 REM-sub to drop 12.5 kiloton bomb on staten island
2900 FOR GZ=S TO I
2910 CIRCLE (112,153),GZ,R
2920 FOR T=1 TO 300:NEXT T
2930 NEXT GZ
2940 REM- to clear small box
2950 LOCATE 2,21:PRINT " ";
2960 RETURN
2970 REM-sub to clear big box
2980 FOR I=5 TO 23
2990 LOCATE I,22:PRINT " ";
3000 NEXT I
3010 RETURN
3020 REM-sub to draw compass rose
3030 FOR I=20 TO 50 STEP 2:PSET (30,I),1:NEXT I
3040 FOR I=20 TO 40 STEP 4:PSET (I,35),1:NEXT I
3050 PSET (30,20),1:LINE -(27,23),1:PSET (30,20),1:LINE -(33,23),1
3060 RETURN
3070 DATA 0,-105,5,-104,10,-103,15,-104,20,-105,25,-105,30,-107
3080 DATA 35,-110,38,-115,41,-120,44,-125,46,-133,49,-136,50,-140
3090 DATA 51,-143,54,-147,55,-152,58,-156,59,-158,60,-160,58,-163
3100 DATA 56,-164,55,-166,51,-169,50,-172,51,-176,53,-178,54,-182
3110 DATA 56,-184,59,-183,60,-181,63,-183,65,-183,68,-185,70,-187
3120 DATA 77,-191,79,-190,82,-189,81,-187,82,-185,81,-180,84,-175
3130 DATA 86,-175,89,-171,88,-173,92,-172,87,-175,85,-177,84,-180
3140 DATA 84,-184,89,-179,93,-176,97,-175,98,-175,99,-177,92,-180
3150 DATA 99,-183,101,-180,103,-177,104,-170,107,-169,110,-171
3160 DATA 117,-180,121,-186,128,-190,132,-207,135,-207,135,0,0,0
3170 DATA 0,-105,888,888
3810 DATA 10,10,135,165
3820 DATA 999,999
3830 STOP